import {BasicColumn} from '/@/components/Table';
import {FormSchema} from '/@/components/Table';
import {JVxeTypes,JVxeColumn} from '/@/components/jeecg/JVxeTable/types'
//列表数据
export const columns: BasicColumn[] = [
   {
    title: '出货单号',
    align:"center",
    dataIndex: 'orderNum'
   },
   {
    title: '客户编码',
    align:"center",
    dataIndex: 'cusCode'
   },
   {
    title: '客户名称',
    align:"center",
    dataIndex: 'cusName'
   },
   {
    title: '要求交货时间',
    align:"center",
    dataIndex: 'receiveDate'
   },
   {
    title: '收货人',
    align:"center",
    dataIndex: 'receiverCode'
   },
  //  {
  //   title: '收货人电话',
  //   align:"center",
  //   dataIndex: 'receiverMobile'
  //  },
  //  {
  //   title: '收货人地址',
  //   align:"center",
  //   dataIndex: 'receiverAddr'
  //  },
  //  {
  //   title: '承运人',
  //   align:"center",
  //   dataIndex: 'carrierCode'
  //  },
  //  {
  //   title: '承运人电话',
  //   align:"center",
  //   dataIndex: 'carrierMobile'
  //  },
  //  {
  //   title: '承运人车号',
  //   align:"center",
  //   dataIndex: 'carrierCarno'
  //  },
   {
    title: '发货月台',
    align:"center",
    dataIndex: 'platCode'
   },
   {
    title: '状态',
    align:"center",
    dataIndex: 'orderStatus'
   },
   
  //  {
  //   title: '附件',
  //   align:"center",
  //   dataIndex: 'fuJian'
  //  },
   {
    title: '订单类型',
    align:"center",
    dataIndex: 'orderTypeCode'
   },
  //  {
  //   title: '是否加急',
  //   align:"center",
  //   dataIndex: 'urgent'
  //  },
   
  //  {
  //   title: '订单支付金额',
  //   align:"center",
  //   dataIndex: 'orderPay'
  //  },
   {
    title: '供应商编码',
    align:"center",
    dataIndex: 'supCode'
   },
   {
    title: '供应商名称',
    align:"center",
    dataIndex: 'supName'
   },
  //  {
  //   title: '截止日期',
  //   align:"center",
  //   dataIndex: 'stopDate'
  //  },
   {
    title: '备注',
    align:"center",
    dataIndex: 'remark'
   },
];
//查询数据
export const searchFormSchema: FormSchema[] = [
	{
      label: "客户编码",
      field: 'cusCode',
      component: 'Input',
      //colProps: {span: 6},
 	},
	{
      label: "出货单号",
      field: 'orderNum',
      component: 'Input',
      //colProps: {span: 6},
 	},
	{
      label: "订单类型",
      field: 'orderTypeCode',
      component: 'Input',
      //colProps: {span: 6},
 	},
	{
      label: "客户名称",
      field: 'cusName',
      component: 'Input',
      //colProps: {span: 6},
 	},
];
//表单数据
export const formSchema: FormSchema[] = [
  {
    label: '客户编码',
    field: 'cusCode',
    required:true,
    component: 'JPopup',
    colProps: {
      span: 12,
    },        
    componentProps: ({ formActionType }) => {
      let { setFieldsValue } = formActionType
      return {
          setFieldsValue,
          placeholder: '请选择',
          code: 'wms_cus',
          fieldConfig: [{ source: 'cus_code', target: 'cusCode' }, { source: 'cus_name', target: 'cusName' }],
          multi: true,
      }
    },         
  },
  {
    label: '客户名称',
    field: 'cusName',
    component: 'Input',
    colProps: {
      span: 12,
    }, 
    componentProps: {
      disabled: true,
    },
  },
  {
    label: '要求交货时间',
    field: 'receiveDate',
    component: 'DatePicker',
    componentProps: {
       showTime:true,
       valueFormat: 'YYYY-MM-DD HH:mm:ss'
     },
  },
  {
    label: '收货人',
    field: 'receiverCode',
    component: 'Input',
  },
  // {
  //   label: '收货人电话',
  //   field: 'receiverMobile',
  //   component: 'Input',
  // },
  // {
  //   label: '收货人地址',
  //   field: 'receiverAddr',
  //   component: 'Input',
  // },
  // {
  //   label: '承运人',
  //   field: 'carrierCode',
  //   component: 'Input',
  // },
  // {
  //   label: '承运人电话',
  //   field: 'carrierMobile',
  //   component: 'Input',
  // },
  // {
  //   label: '承运人车号',
  //   field: 'carrierCarno',
  //   component: 'Input',
  // },
  {
    label: '发货月台',
    field: 'platCode',
    component: 'Input',
  },
  // {
  //   label: '状态',
  //   field: 'orderStatus',
  //   component: 'Input',
  //   componentProps: {
  //     disabled: true,
  //   },
  // },
  
  // {
  //   label: '附件',
  //   field: 'fuJian',
  //   component: 'Input',
  // },
  {
    label: '订单类型编码',
    field: 'orderTypeCode',
    component: 'JPopup',
    required:true,
    colProps: {
      span: 12,
    },        
    componentProps: ({ formActionType }) => {
      let { setFieldsValue } = formActionType
      return {
          setFieldsValue,
          placeholder: '请选择',
          code: 'wms_order_type',
          fieldConfig: [{ source: 'order_type_code', target: 'orderTypeCode' }, { source: 'order_type_name', target: 'orderTypeName' }],
          multi: true,
      }
    },   
  },
  {
    label: '订单类型名称',
    field: 'orderTypeName',
    component: 'Input',
    componentProps: {
      disabled: true,
    },
  },
  // {
  //   label: '是否加急',
  //   field: 'urgent',
  //   component: 'Input',
  // },
  
  // {
  //   label: '订单支付金额',
  //   field: 'orderPay',
  //   component: 'InputNumber',
  // },
  {
    label: '供应商编码',
    field: 'supCode',
    component: 'JPopup',
    required:true,
    colProps: {
      span: 12,
    },        
    componentProps: ({ formActionType }) => {
      let { setFieldsValue } = formActionType
      return {
          setFieldsValue,
          placeholder: '请选择',
          code: 'wms_supply',
          fieldConfig: [{ source: 'suply_code', target: 'supCode' }, { source: 'suply_name', target: 'supName' }],
          multi: true,
      }
    },   
  },
  {
    label: '供应商名称',
    field: 'supName',
    component: 'Input',
    componentProps: {
      disabled: true,
    },
  },
  // {
  //   label: '截止日期',
  //   field: 'stopDate',
  //   component: 'InputTextArea',
  // },
  {
    label: '备注',
    field: 'remark',
    component: 'Input',
  },
	// TODO 主键隐藏字段，目前写死为ID
	{
	  label: '',
	  field: 'id',
	  component: 'Input',
	  show: false
	},
];
//子表单数据
//子表列表数据
export const wmsOutOrderLineColumns: BasicColumn[] = [
  //  {
  //   title: '所属公司',
  //   align:"center",
  //   dataIndex: 'sysCompanyCode'
  //  },
   {
    title: '出库单号',
    align:"center",
    dataIndex: 'orderNum'
   },
   {
    title: '物料编码',
    align:"center",
    dataIndex: 'goodsCode'
   },
   {
    title: '预计出货数量',
    align:"center",
    dataIndex: 'goodsQua'
   },
   {
    title: '单位',
    align:"center",
    dataIndex: 'goodsUnitName'
   },
   {
    title: '生产日期',
    align:"center",
    dataIndex: 'goodsProDate'
   },
   {
    title: '批次',
    align:"center",
    dataIndex: 'goodsBatch'
   },
  //  {
  //   title: '出货仓位',
  //   align:"center",
  //   dataIndex: 'kwCode'
  //  },
   {
    title: '已出货数量',
    align:"center",
    dataIndex: 'goodsOkQua'
   },
   {
    title: '剩余出货数量',
    align:"center",
    dataIndex: 'goodsSyQua'
   },
  //  {
  //   title: '客户编码',
  //   align:"center",
  //   dataIndex: 'cusCode'
  //  },
  //  {
  //   title: '客户名称',
  //   align:"center",
  //   dataIndex: 'cusName'
  //  },
  //  {
  //   title: '波次号',
  //   align:"center",
  //   dataIndex: 'waveNum'
  //  },
   {
    title: '状态',
    align:"center",
    dataIndex: 'orderLineStatus'
   },
  //  {
  //   title: '下架计划生成',
  //   align:"center",
  //   dataIndex: 'planStatus'
  //  },
   {
    title: '物料名称',
    align:"center",
    dataIndex: 'goodsName'
   },
  //  {
  //   title: '单价',
  //   align:"center",
  //   dataIndex: 'goodsUnitPrice'
  //  },
  //  {
  //   title: '仓库代码',
  //   align:"center",
  //   dataIndex: 'warehouseCode'
  //  },
  //  {
  //   title: '仓库名称',
  //   align:"center",
  //   dataIndex: 'warehouseName'
  //  },
  //  {
  //   title: '托盘码',
  //   align:"center",
  //   dataIndex: 'trayCode'
  //  },
  //  {
  //   title: '标签号',
  //   align:"center",
  //   dataIndex: 'binCode'
  //  },
  //  {
  //   title: '生产订单编号',
  //   align:"center",
  //   dataIndex: 'proCode'
  //  },
  //  {
  //   title: '领料日期',
  //   align:"center",
  //   dataIndex: 'pickingDate'
  //  },
  //  {
  //   title: '领料人',
  //   align:"center",
  //   dataIndex: 'pickerCode'
  //  },
   {
    title: '仓管员',
    align:"center",
    dataIndex: 'warehousePername'
   },
  //  {
  //   title: '发货部门',
  //   align:"center",
  //   dataIndex: 'shipDepCode'
  //  },
  //  {
  //   title: '发货部门',
  //   align:"center",
  //   dataIndex: 'shipDepName'
  //  },
  //  {
  //   title: '箱号状态',
  //   align:"center",
  //   dataIndex: 'stickStatus'
  //  },
  //  {
  //   title: '箱号',
  //   align:"center",
  //   dataIndex: 'stickNo'
  //  },
  //  {
  //   title: '每箱数量',
  //   align:"center",
  //   dataIndex: 'stickQua'
  //  },
  //  {
  //   title: '总箱数',
  //   align:"center",
  //   dataIndex: 'stickTotalQty'
  //  },
  //  {
  //   title: '规格',
  //   align:"center",
  //   dataIndex: 'goodsSpec'
  //  },
  //  {
  //   title: '纸箱长',
  //   align:"center",
  //   dataIndex: 'stickCtnsizel'
  //  },
  //  {
  //   title: '纸箱宽',
  //   align:"center",
  //   dataIndex: 'stickCtnsizew'
  //  },
  //  {
  //   title: '纸箱高',
  //   align:"center",
  //   dataIndex: 'stickCtnsizeh'
  //  },
  //  {
  //   title: '重量/箱',
  //   align:"center",
  //   dataIndex: 'stickWeightctn'
  //  },
  //  {
  //   title: '体积/箱',
  //   align:"center",
  //   dataIndex: 'stickWolctn'
  //  },
  //  {
  //   title: '总体积',
  //   align:"center",
  //   dataIndex: 'totalvol'
  //  },
  //  {
  //   title: '总重量',
  //   align:"center",
  //   dataIndex: 'totalweight'
  //  },
  //  {
  //   title: '产品属性编码',
  //   align:"center",
  //   dataIndex: 'goodsTypeCode'
  //  },
  //  {
  //   title: '产品属性名称',
  //   align:"center",
  //   dataIndex: 'goodsTypeName'
  //  },
   {
    title: '备注',
    align:"center",
    dataIndex: 'remark'
   },
  //  {
  //   title: '缺货标识',
  //   align:"center",
  //   dataIndex: 'outOfStock'
  //  },
  //  {
  //   title: '缺少多少数量',
  //   align:"center",
  //   dataIndex: 'outOfStockNum'
  //  },
];
//子表表格配置
export const wmsOutOrderLineJVxeColumns: JVxeColumn[] = [
    // {
    //   title: '所属公司',
    //   key: 'sysCompanyCode',
    //   type: JVxeTypes.input,
    //   width:"200px",
    //   placeholder: '请输入${title}',
    //   defaultValue:'',
    // },
    // {
    //   title: '出货通知ID',
    //   key: 'orderNum', 
    //   type: JVxeTypes.input,
    //   width:"200px",
    //   placeholder: '请输入${title}',
    //   defaultValue:'',
    // },
    // {
    //   title: '物料编码',
    //   key: 'goodsCode',
    //   type: JVxeTypes.input,
    //   width:"200px",
    //   placeholder: '请输入${title}',
    //   defaultValue:'',
    // },
    {
      title: '物料编码',
      key: 'goodsCode',
      type: JVxeTypes.popup,
      width: "200px",
      popupCode: 'wms_goods',
      fieldConfig: [
        { source: 'goods_code', target: 'goodsCode' },
        { source: 'goods_name', target: 'goodsName' },
        { source: 'unit_code', target: 'goodsUnitCode' },
        { source: 'unit_name', target: 'goodsUnitName' },
        { source: 'goods_spec', target: 'goodsSpec' },
        { source: 'goods_pro_date', target: 'goodsProDate' },
      ],
    },
    {
      title: '物料名称',
      key: 'goodsName',
      type: JVxeTypes.input,
      width:"200px",
      placeholder: '请输入${title}',
      defaultValue:'',
      disabled:true,
    },
    {
      title: '预计出货数量',
      key: 'goodsQua',
      type: JVxeTypes.input,
      width:"200px",
      placeholder: '请输入${title}',
      defaultValue:'',
      require:true,
    },
    {
      title: '单位',
      key: 'goodsUnitCode',
      type: JVxeTypes.input,
      width:"200px",
      placeholder: '请输入${title}',
      defaultValue:'',
      disabled:true,
    },
    {
      title: '单位名称',
      key: 'goodsUnitName',
      type: JVxeTypes.input,
      width:"200px",
      placeholder: '请输入${title}',
      defaultValue:'',
      disabled:true,
    },
    {
      title: '生产日期',
      key: 'goodsProDate',
      type: JVxeTypes.datetime,
      width:"200px",
      placeholder: '请输入${title}',
      defaultValue:'',
      disabled:true,
    },
    {
      title: '批次',
      key: 'goodsBatch',
      type: JVxeTypes.input,
      width:"200px",
      placeholder: '请输入${title}',
      defaultValue:'',
    },
    {
      title: '仓管员',
      key: 'warehousePername',
      type: JVxeTypes.input,
      width:"200px",
      placeholder: '请输入${title}',
      defaultValue:'',
    },
    
    {
      title: '规格',
      key: 'goodsSpec',
      type: JVxeTypes.input,
      width:"200px",
      placeholder: '请输入${title}',
      defaultValue:'',
      disabled:true,
    },
    {
      title: '备注',
      key: 'remark',
      type: JVxeTypes.input,
      width:"200px",
      placeholder: '请输入${title}',
      defaultValue:'',
    },
  ]

/**
* 流程表单调用这个方法获取formSchema
* @param param
*/
export function getBpmFormSchema(_formData): FormSchema[]{
  // 默认和原始表单保持一致 如果流程中配置了权限数据，这里需要单独处理formSchema
  return formSchema;
}